// 采用 apply 来调用一个函数

function welcome( name ){
    console.log( `欢迎${name}莅临云创动力指导工作`);
    console.log( this );
}

// 非严格模式下，如果采用 apply 调用函数时，
// 如果 apply 的第一个参数为 null 或 undefined ，
// 则 welcome 函数内 this 表示 globalThis
welcome.apply( null , ['任丽'] );

let p = { id: 1 , name: '张劲松' , gender: '靓仔' }
welcome.apply( p , ['张总']);

function hello( name ){
    'use strict';
    console.log( `欢迎${name}莅临云创动力指导工作`);
    console.log( this );
}

// 严格模式下，采用 apply 调用函数时，
// 如果 apply 的第一个参数为 null 则 hello 函数内 this 为 null
// 如果 apply 的第一个参数为 undefined 则 hello 函数内 this 为 undefined
hello.apply( null , ['任丽'] );

let q = { id: 2 , name: '吴晓龙' , gender: '靓仔' }
hello.apply( q , ['吴总']);